package com.ruoyi.web.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Data
@TableName(value = "mes_produce")
public class Produce {
    @TableId
    private String produceId;
    @Excel(name = "状态", readConverterExp = "0=作废,-1=无需做版,-2=文件作废,1=未提交,2=已提交,3=已做版,4=已制版,5=已取版,6=印刷中,7=印刷完成,9=折页中,10=折页完成,11=裁切中,12=裁切完成,13=覆膜中,14=覆膜完成,15=装订中,16=装订完成,17=发货中,18=发货完成,19=内容审核通过,20=分配审核通过")
    private String status;
    private int state;
    private String orderNo;
    @Excel(name = "生产单编码")
    private String produceNo;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下单日期")
    private Date submitDate;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "交货日期")
    private Date deliverDate;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "加急交货日期")
    private Date urgentDate;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    /** 加急交货数量 */
    @Excel(name = "加急交货数量")
    private double urgentNum;
    private Date fileDate;
    private Integer orderCount;
    private String remark;
    private String orderId;
    @Excel(name = "产品名称")
    private String bookName;
    private String type;
    private String orderCode;
    private String createBy;
    private String updateBy;
    private String isNew;

    @Excel(name = "生产单编码")
    private String pubNo;//出版编号
    private String packageRequire;
    private Date createTime;
    private Date updateTime;
    private String remark1;
    private String remark2;
    private String remark3;
    private String remark4;
    private String irregularBooks;
    private String machineId;
    private String machineName;
    private String workshopId;
    private String workshopName;
    private String customId;//客户id
    private String customName;//客户名称
    private String processStatus;
    @Excel(name = "定价")
    private String fixPrice;//定价
    private String packWay;//打包方式
    private String packInNum;//包内数量
    private String printNo;//印次
    private String productName;//产品名称
    private String publishingHouse;//出版社
    @Excel(name = "书号")
    private String bookNo;//书号
    private Integer printNum; // 印数次数
    private String produceCoveringNo;//封面生产单编码
    private String makeStatus;//生产单内容审核状态
    /*加急发货日期*/
    @TableField(exist = false)
    @Excel(name = "版材尺寸", readConverterExp = "1=920*760,10=390*290,3=880*630,9=880*640,8=930*721,6=1030*790,4=1030*800,7=1050*800,5=1055*811")
    private String sheetSize;

    @Excel(name = "用纸总令数")
    @TableField(exist = false)
    private String totalReamAmount;

    @Excel(name = "活页烤版", readConverterExp = "1=烤版,2=旧版")
    @TableField(exist = false)
    private  String hykb;

    @TableField(exist = false)
    @Excel(name = "书刊编码")
    private String bookCode;
    @TableField(exist = false)
    @Excel(name = "文件号")
    private String fileNo;
    @TableField(exist = false)
    @Excel(name = "颜色", readConverterExp = "1=单黑,2=蓝黑,3=红黄蓝黑,4=黄蓝黑,5=红黑,7=绿黑,8=红黄黑,9=红蓝黑,10=紫黑,11=咖加黑,12=红黄蓝,13=黄蓝")
    private String color;//

    @Excel(name = "覆膜", readConverterExp="1=亮膜,2=哑膜")
    @TableField(exist = false)
    private String coverFilm;
    @TableField(exist = false)
    @Excel(name = "印色", readConverterExp = "1=1+1,2=2+0,3=2+1,4=2+2,5=3+0,6=3+1,7=4+0,8=4+1,9=4+2,10=4+3,11=4+4,13=1+0")
    private String printColor;
    @TableField(exist = false)
    @Excel(name = "订单数量")
    private String produceCount;
    @TableField(exist = false)

    @Excel(name = "喷码",readConverterExp="1=是,2=否")
    private String marking;

    @Excel(name = "联版数量")
    @TableField(exist = false)
    private  String lianbanCount;

    @TableField(exist = false)
    @Excel(name = "内文承印厂")
    private String textPrinter;

    @Excel(name = "产品品种")
    @TableField(exist = false)
    private String breedType;
    @TableField(exist = false)
    private String machineType;
    private String changePiece;//换片内容
    private String shipmentType;//发货品种

    @Excel(name = "数据状态", readConverterExp = "1=暂停,2=正常")
    private String isSuspend;//是否暂停，1暂停
    private String isFp;//是否分配
    private String isClose;//是否合印
    private String closeProduceId;//合印生产单id
    private Long deliveryCount;//发货总数量
    private String isJoinFm; // 是否关联封面生产单，0否1是

    @TableField(exist = false)
    private String isfour;

    @TableField(exist = false)
    private List<ProduceProduct> produceProductList;
    @TableField(exist = false)
    private List<ProducePrint> producePrintList;
    @TableField(exist = false)
    private List<ProducePaper> producePaperList;
    @TableField(exist = false)
    private List<ProduceCovering> produceCoveringList;
    @TableField(exist = false)
    private List<ProducePiece> producePieceList;

    @TableField(exist = false)
    private Long MaxpubNo;

    @TableField(exist = false)
    private String orderMark; // 排序条件,可以按照不同字段排序

    @TableField(exist = false)
    private String ids; // 排序条件,可以按照不同字段排序

    @TableField(exist = false)
    private Map<String, String> params;
    @TableField(exist = false)
    private int countTotal;//订单合计

    /*** 印张集合 */
    @TableField(exist = false)
    private String sheetList;

    /*** 印色集合 */
    @TableField(exist = false)
    private String colourList;

    /*** 版材集合 */
    @TableField(exist = false)
    private String sheetSizeList;

    //出版编码年份(查询用)
    @TableField(exist = false)
    private int year;
    //出版编码最大编号(查询用)
    @TableField(exist = false)
    private int num;

    @TableField(exist = false)
    private String startDate;

    @TableField(exist = false)
    private String endDate;

    //是否可以取板
    @TableField(exist = false)
    private int istake;
    //开本数
    @TableField(exist = false)
    private Integer bookSize;
    @TableField(exist = false)
    private String composition;//组成
    @TableField(exist = false)
    private String paperType;//纸张类型
    @TableField(exist = false)
    private String  productNo;//产品序列号
    @TableField(exist = false)
    private String  sampleNo;//清样编号
    @TableField(exist = false)
    private String subjectType;//科目
    @TableField(exist = false)
    private String produceCountYu; //剩余数量

    @TableField(exist = false)
    private String pressState;
    @TableField(exist = false)
    private String bindingState;
    @TableField(exist = false)
    private String foldState;
    @TableField(exist = false)
    private String trimmingState;
    @TableField(exist = false)
    private String coveringState;

    @TableField(exist = false)
    private String zbDate; //制版状态
    @TableField(exist = false)
    private String ysDate;//印刷状态
    @TableField(exist = false)
    private String zyDate;//折页状态
    @TableField(exist = false)
    private String zdDate; //装订状态
    @TableField(exist = false)
    private String fhDate;//发货状态

    @TableField(exist = false)
    private String fmDate;//覆膜状态
    @TableField(exist = false)
    private String cqDate;//裁切状态

    @TableField(exist = false)
    private String qhDate;//欠货日期

    @TableField(exist = false)
    private String productId;//
    @TableField(exist = false)
    private String tempStatus;
    @TableField(exist = false)
    private Integer ordermax;
    @TableField(exist = false)
    private Integer produceCountMax;
    @TableField(exist = false)
    private BigDecimal usePaperNum;
    @TableField(exist = false)
    private BigDecimal usePaperSum;
    @TableField(exist = false)
    private Integer urgentNumSum;

    @TableField(exist = false)
    private Integer orderCountSum;//订单数量合计

    @TableField(exist = false)
    private String headUserName;
    @TableField(exist = false)
    private String  binddate;//分配时间
}
